package com.lrkj.payfee.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lrkj.common.annotation.Excel;
import com.lrkj.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 交班收款明细对象 tb_hand_receipt
 *
 * @author yajun_ren
 * @date 2022-03-31
 */
@Data
public class HandReceipt extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** 交班id */
    @Excel(name = "交班id")
    private String handRecordId;

    /** 收款单号 */
    @Excel(name = "收款单号")
    private String no;

    /** 房间名称 */
    @Excel(name = "房间名称")
    private String roomName;

    /** 房间id */
    @Excel(name = "房间id")
    private String roomId;

    /** 业主名称 */
    @Excel(name = "业主名称")
    private String ownerName;

    /** 业主id */
    @Excel(name = "业主id")
    private String ownerId;

    /** 收款人 */
    @Excel(name = "收款人")
    private String billUser;

    /** 收款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billDate;

    /** 应收金额 */
    @Excel(name = "应收金额")
    private BigDecimal receivableMoney;

    /** 实收金额 */
    @Excel(name = "实收金额")
    private BigDecimal billMoney;

    /** 找零金额 */
    @Excel(name = "找零金额")
    private BigDecimal oddChangeMoney;

    /** 转存金额 */
    @Excel(name = "转存金额")
    private BigDecimal transferAmount;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String auditStatus;

    /** 开票状态 */
    @Excel(name = "开票状态")
    private String invoiceStatus;

    /** 单据状态 */
    @Excel(name = "单据状态")
    private String documentStatus;

    /** 优惠折扣 */
    @Excel(name = "优惠折扣")
    private String discount;



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("handRecordId", getHandRecordId())
            .append("no", getNo())
            .append("roomName", getRoomName())
            .append("roomId", getRoomId())
            .append("ownerName", getOwnerName())
            .append("ownerId", getOwnerId())
            .append("billUser", getBillUser())
            .append("billDate", getBillDate())
            .append("receivableMoney", getReceivableMoney())
            .append("billMoney", getBillMoney())
            .append("oddChangeMoney", getOddChangeMoney())
            .append("transferAmount", getTransferAmount())
            .append("auditStatus", getAuditStatus())
            .append("invoiceStatus", getInvoiceStatus())
            .append("documentStatus", getDocumentStatus())
            .append("discount", getDiscount())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
